The HAL (Hardware Abstraction Layer), also known as the "UIM" (USB Interface Module). This driver provides an abstracted interface to the OpenHCI host controllers on Mac motherboards and PCI controller cards. It does not support Universal Host Controller Interface (UHCI) controllers. Some early USB devices (most notably keyboards) can’t interoperate with an OHCI controller. These devices will not be supported by the Apple USB system software.